
#ifndef DESIGN_PATTERNS_MEMENTO_BACKTRACKMANAGER_H_
#define DESIGN_PATTERNS_MEMENTO_BACKTRACKMANAGER_H_

#include <stack>

class State;

class BacktrackManager
{
private:
  std::stack<State*> history_;

public:
  BacktrackManager();

  State* GetState();

  void AddState(State* s);

  ~BacktrackManager();
};

#endif //DESIGN_PATTERNS_MEMENTO_BACKTRACKMANAGER_H_
